In many cases, it is desirable to deliver streams or files to the requestor while opportunistically multicasting the same information to others on the network who could potentially be interested in this content at a future point in time. Traditional approaches to prepositioning data streams and files via multicast to remote devices typically involve either: a master copy being maintained on an intermediate server so that when the data is later requested from the remote device, missing data elements or forward error correction codes can later be transmitted to fill in the holes; or remote devices requesting missing data as the multicast is being received.
Additionally, traditional approaches to delta coding and the like rely on keeping track of the information stored on both the client and server sides of a network. Typically, this further involves overhead for keeping the delta coders (e.g., dictionaries and the like) synchronized. When delta coding is applied to multicast stream distribution, the network overhead for maintaining coder synchronization can be large. The cost of transmitting delta coder synchronization and forward error correction traffic can impose an especially heavy burden when information is distributed opportunistically if this traffic is sent, whether or not the content is later consumed.